Make sure that if one of the intermediate steps fails, a subsequent
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 5 Oct 2006 15:35:56 +0000 (16:35 +0100)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Thu, 5 Oct 2006 15:35:56 +0000 (16:35 +0100)
make invocation doesn't think there's nothing to do.
This should be viewed as an intermediate step towards splitting up
the rule into three independent ones, passing intermediate files
from one to the next.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/Makefile

index 8b008562e59b2f54e8c465c94a65a7b43c85cfb5..e303ec7b599fa800669491864f000db14bcb594d 100644 (file)
@@ -53,18 +53,18 @@ $(TARGET)-syms: boot/$(TARGET_SUBARCH).o $(ALL_OBJS) xen.lds
        $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/common/symbols-dummy.o
        $(LD) $(LDFLAGS) -T xen.lds -N \
            boot/$(TARGET_SUBARCH).o $(ALL_OBJS) \
-           $(BASEDIR)/common/symbols-dummy.o -o $@
-       $(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
-       $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
+           $(BASEDIR)/common/symbols-dummy.o -o $(@D)/.$(@F).0
+       $(NM) -n $(@D)/.$(@F).0 | $(BASEDIR)/tools/symbols >$(@D)/.$(@F).0.S
+       $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0.o
        $(LD) $(LDFLAGS) -T xen.lds -N \
            boot/$(TARGET_SUBARCH).o $(ALL_OBJS) \
-           $(BASEDIR)/xen-syms.o -o $@
-       $(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S
-       $(MAKE) -f $(BASEDIR)/Rules.mk $(BASEDIR)/xen-syms.o
+           $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
+       $(NM) -n $(@D)/.$(@F).1 | $(BASEDIR)/tools/symbols >$(@D)/.$(@F).1.S
+       $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1.o
        $(LD) $(LDFLAGS) -T xen.lds -N \
            boot/$(TARGET_SUBARCH).o $(ALL_OBJS) \
-           $(BASEDIR)/xen-syms.o -o $@
-       rm -f $(BASEDIR)/xen-syms.S $(BASEDIR)/xen-syms.o
+           $(@D)/.$(@F).1.o -o $@
+       rm -f $(@D)/.$(@F).[0-9]*
 
 asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c $(HDRS)
        $(CC) $(CFLAGS) -S -o $@ $<
@@ -78,3 +78,4 @@ boot/mkelf32: boot/mkelf32.c
 .PHONY: clean
 clean::
        rm -f asm-offsets.s xen.lds boot/*.o boot/*~ boot/core boot/mkelf32
+       rm -f $(BASEDIR)/.xen-syms.[0-9]*